﻿using System;
using System.Collections.Generic;
using System.Text;

namespace Acoris.Document
{
    /// <summary>
    /// 表示AML文档
    /// </summary>
    public class AMLDocument
    {
        internal DocumentTree document;
        internal AMLContent content;
        internal object m_lock;
        internal ResourceDictionary m_resourceDictionary;

        internal AMLDocument()
        {
            content = new AMLContent();
            m_lock = new object();
        }

        #region Property

        /// <summary>
        /// 获取或设置当前AML文档的元数据头部
        /// </summary>
        public AMLHeader Header { get; set; }

        /// <summary>
        /// 获取当前AML文档的主题内容
        /// </summary>
        public AMLContent Content {
            get { return content; }
        }

        /// <summary>
        /// 
        /// </summary>
        public object Template { get; }

        /// <summary>
        /// 
        /// </summary>
        public object Style { get; }

        /// <summary>
        /// 
        /// </summary>
        public ResourceDictionary Resource {
            get { return m_resourceDictionary; }
        }

        /// <summary>
        /// 
        /// </summary>
        public object Synchronize {
            get { return m_lock; }
        }

        #endregion

        /// <summary>
        /// 返回于当前对象等价的字符串形式
        /// </summary>
        /// <returns>返回与当前对象等价的字符串形式</returns>
        public override string ToString()
        {
            return base.ToString();
        }
    }
}
